Control apparatus and method thereof, recording apparatus and method of controlling the same

ABSTRACT

A position control unit performs control so that the position of a controlled object is detected, and as a result of the detection, a drive unit is reverse-directed if the controlled object is situated beyond an ultimate target position, and the operation of the drive unit is stopped if the controlled object is situated beyond an acceptable ultimate target range.

FIELD OF THE INVENTION

[0001] The present invention relates to a control apparatus performingcontrol to move a controlled object to a position within an acceptableultimate target range including positions ahead and behind an ultimatetarget position, and a method thereof, and a recording apparatus and amethod of controlling the same.

BACKGROUND OF THE INVENTION

[0002] Traditionally, in the method of controlling drive mechanisms suchas a motor, so called “feedback control” in which the speed, positionand the like of the motor itself or a controlled object connected to themotor is detected, and the motor is controlled according to the resultof detection is well known. Examples of the apparatus using as a drivesource the motor driven by such control include a recording apparatus.

[0003] An apparatus well known as this recording apparatus is a printer.In the printer, for example, so called a serial type printer having arecording head mounted thereon, and having a carriage undergoingscanning in a reciprocating manner in the direction vertical to thedirection in which a recording medium (hereinafter referred to as“recording paper” or “paper”) such as a paper or film is transported,and carrying out recording by having the carriage scanned whiletransporting the recording paper is transported is widely adopted interms of easy construction.

[0004] On the other hand, a various kinds of recording systems are usedfor the recording heads of these recording apparatuses. For therecording system, the wire dot system, heat-sensitive system, heattransfer system, ink jet system, electrophotographic system and the likeare widely known, and above all, the ink jet system is widely used interms of coloration, enhanced resolution and silence.

[0005] In this serial type printer, the scan drive of the carriage isone of the important technical factors in recording operations. For thedrive source of the carriage, stepping motors and DC motors are used,and above all, the DC motor is used in conjunction with an encodersystem detecting the speed and position of the carriage because the DCmotor is excellent in silence compared to the stepping motor. The DCmotor is generally driven by the feedback control system in which thespeed and position of the carriage is detected by the encoder system,and the motor is controlled according to the deviations from the commandspeed and command position.

[0006] Furthermore, even if the stepping motor is used as a drivesource, the encoder system may be used. Here, the command speed is aspeed that should be essentially achieved in timing with which the speedof the carriage has been detected, and the command position is aposition that should be reached in timing with which the position of thecarriage has been detected.

[0007] Also, the method of controlling the scan drive of the carriagevaries depends on the scan position of the carriage and the situation ofrecording operations. For example, unless the carriage is always scannedat almost a constant speed at the time of recording, it may be difficultto carry out recording in an appropriate position in a recording medium,thus raising the possibility that the quality of recorded products iscompromised.

[0008] After passing through the recording area, on the other hand, thecarriage must have its traveling speed reduced for stopping at apredetermined position. If the degree of this speed reduction is notappropriate, the carriage may fail to stop at the predeterminedposition, thus raising the possibility that the subsequent operationsare hindered. From this point of view, in most instances, control isperformed focusing on the speed so that the carriage can be scanned atan appropriate speed when the carriage undergoes acceleration and thecarriage travels at a constant speed, and control is performed focusingon the position so that the carriage can be stopped at an appropriateposition when the carriage has its speed reduced.

[0009] When the DC motor and encoder system described above are used tocontrol the drive of the carriage, the following feedback control isoften performed.

[0010] First, here, assuming that the feedback control process iscarried out at predetermined time intervals, for example at intervals of1 ms, the feedback control process will briefly be described below.

[0011] Based on the previously required ultimate target position andspeed to be attained by the carriage, the ultimate speed and position tobe attained by the carriage, i.e. command speed and command position arecalculated at each time of control. Explaining one example of theprocess for calculating the command speed and command position at thetime when the carriage undergoes acceleration here, the command speed V(t) and the command position X (t) of the carriage at each time ofcontrol are calculated from a preset acceleration distance L, anultimate speed VT to be attained at the time when the carriage travelsat a constant speed, and a preset acceleration α.

[0012] Assuming that acceleration α is a change in speed between controltiming periods, for example, the value at each time of control iscalculated for the command speed V (t) in accordance with the equation:V (t)=V (t−1)+α. Similarly, for the command position X (t), a commandspeed V (t) determined from the calculated command speed V (t) is addedat each time of control, namely the command position X (t) is calculatedin accordance with the equation: X (t)=V (t)+V (t−1)+. . .

[0013] Therefore, in this case, the command speed V (t) is a valuelinearly increasing with time to the speed reached at the time oftraveling at a constant speed, and the command position X (t) iscalculated as a value exponentially increasing to a value equivalent tothe acceleration distance.

[0014] Furthermore, for the command speed V (t), the ultimate speed VTto be attained in the constant speed-region may be considered as thecommand speed at the time of acceleration without conducting the abovecalculation. In this case, the command speed V (t) is a fixed value thatdoes not increase with time. Here, the subscript (t) refers to a valueat predetermined time of control processing, and the subscript (t−1)refers to a value at the immediately previous time of processing.

[0015] Then, the actual position of the carriage is determined from theresult of encoder system detection, and a deviation from the commandposition is calculated, and based on the result thereof, a speedcontrolled variable Vc (t) is calculated. Subsequently, a speeddeviation VE (t) is calculated from the command speed V (t) and theactual speed v (t) of the carriage, and a new speed controlled variableVc (t) is calculated based on this speed deviation VE (t).

[0016] Then, a controlled variable M to be applied to the motoraccording to this speed controlled variable Vc (t) is calculated, andthis motor controlled variable M is applied to the motor to control thedrive of the motor. As a result, the motor is driven in accordance withthe command speed and command position.

[0017] In this way, the motor itself and the controlled object connectedto the motor are driven in accordance with the command speed and commandposition to attain an ultimate speed (ultimate speed VT) and move to andstop at an ultimate position (ultimate target position XT), whereby aseries of control is ended.

[0018] Also, whether the ultimate target position XT has been reached ornot is determined as a general practice, and if it is determined thatthe position has been reached, application of the controlled variable(also called driven variable) to the motor is stopped and so on toproceed to the next operation as a general practice.

[0019] Here, if considering the operation of stopping at the ultimatetarget position XT, it is often difficult in general to have the objectstopped at the ultimate target position XT, and therefore apredetermined range n, namely XT−n/2˜XT+n/2 is set for the ultimatetarget position XT, and when the controlled object stops in this range,it is determined that the controlled object moves to and stops at theultimate target position and so on as a general practice.

[0020] However, the above method of controlling the motor and therecording apparatus using this method have the following problems.

[0021] That is, if the motor and the controlled object such as acarriage connected to the motor are driven so that the controlled objectattains the ultimate speed and position in accordance with the commandspeed and command position, more than predetermined time may be requireduntil the motor and the controlled object connected to the motor stop,or it is determined that they stop in the stopped state at the ultimatetarget position XT.

[0022] Also, time required for the motor and the controlled object tostop may vary considerably depending on apparatuses such that the motorand the controlled object can stop quickly for some apparatuses, and ittakes much time for them to stop for other apparatuses.

[0023] In addition, a strange noise may be emitted in the stopped stateat the ultimate target position XT.

[0024] In this situation, the motor has its speed reduced from itsrunning condition to “0” before reaching the ultimate position, or doesnot have its speed reduced to “0” even after passing by the ultimateposition, and so on, thus making it impossible to stop at the ultimateposition.

[0025] This will be described using operations of the carriage of therecording apparatus as an example.

[0026]FIG. 20 is a graph showing the command speed V (t) and actualspeed v (t) of the carriage and the motor controlled variant M versustime.

[0027] For example, reference character A in the figure shows asituation in which reduction in speed is started from the constant-speedstate and the ultimate position is reached, but the position is passedby because the speed cannot be reduced enough, so that a slight movementis made in an opposite direction to consume time wastefully for stoppingat the ultimate position. Here, time is similarly consumed wastefully inthe case where the speed is reduced to “0” before the ultimate positionis reached. That is, in this case, the stopped state occurs before theultimate position is reached, and thereafter control is performed sothat a movement to the ultimate position is made to make a slightmovement.

[0028] In addition, if the parameter in feedback control or the like isinappropriate, oscillation may occur in the stopped state. Such asituation is shown in FIG. 21.

[0029] In this case, an acceptable range is set such that apredetermined range n including positions ahead and behind the ultimatetarget position XT, i.e. XT−n/2˜XT+n/2 is established, and it isdetermined that the carriage stops at the ultimate target position whenthe carriage stops at a point within the predetermined range n.

[0030] First, the upper part of FIG. 21 shows a situation in which thecarriage moves from the left side in the figure toward the ultimatetarget position XT, and thereafter passes by the ultimate targetposition XT and further goes beyond the acceptable range even though thecarriage is controlled. The carriage is controlled so as to go back tothe ultimate target position XT from a certain position beyond theacceptable range, and therefore the carriage is driven in the oppositedirection.

[0031] When the carriage is driven in the opposite direction, however,the carriage moves to a position at a longer distance from the ultimatetarget position XT than the previous position, and this movement isrepeated to bring the carriage into an oscillation state, as shown.Here, FIG. 22 shows a relation between the position of the carriage andtime when the carriage is brought into the oscillation state, and asshown in FIG. 22, it can be understood that the carriage moves to andfrom around the ultimate target position, and the movement of thecarriage is not converged.

[0032] Also, the lower part of FIG. 21 shows a situation in which thecarriage temporarily stops before the carriage reaches the acceptablerange of the ultimate target position XT. Also in this case, thecarriage is driven so that the carriage approaches to the ultimatetarget position XT after it temporarily stops, but the carriage passesby the ultimate target position XT and the acceptable range, and isconsequently brought into the oscillation state as shown in FIG. 22.

[0033] Such phenomena are mainly ascribable to difficulty ofoptimization of controlled parameters. The principal reason fordifficulty of optimization is that time delay occurs in so called atransfer system such as transfer between the motor and the carriage, anda period of time between the instant when the speed and position aredetected by the encoder sensor and the instant when the motor gains adrive force by way of processing for feedback control, and the delayedtime is different for each apparatus due to variations in parts ofapparatuses, ambient temperature and humidity, and variations inperformance of motors, and the load on the motor is different for eachapparatus, and so on.

[0034] Also, for optimizing the controlled parameter and the like forthe apparatus, it can be considered that so called “learning” in whichthe controlled parameter is changed predetermined timing to identify anoptimal value is performed, but in this case, the apparatus should bedriven for the “learning,” and therefore the apparatus cannot beoperated efficiently. Also, in this case, the control method iscomplicated, and cannot be easily applied to inexpensive apparatuses.

SUMMARY OF THE INVENTION

[0035] The present invention has been made to solve the above problems,and the object of the invention is to provide a control apparatuscapable of performing stop operations of a controlled object stably andefficiently and a method thereof, a recording apparatus capable ofproviding stable operations and carrying out recording efficiently evenin the recording apparatus using the control and a method of controllingthe same.

[0036] According to the present invention, the foregoing object isattained by providing a control apparatus performing control to move acontrolled object to a position within an acceptable ultimate targetrange including positions ahead and behind an ultimate target position,comprising: detection means for detecting the position of the controlledobject; drive means for driving the controlled object; and control meansfor controlling the drive means so that the controlled object isreverse-driven if the controlled object is situated beyond the ultimatetarget position, and stopping the operation of the drive means if thecontrolled object is situated beyond the acceptable ultimate targetrange, as a result of the detection by the detection means.

[0037] Other features and advantages of the present invention will beapparent from the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0038]FIG. 1 is a perspective view showing an external construction ofan ink jet recording apparatus of one embodiment of the presentinvention;

[0039]FIG. 2 is a perspective view showing a construction of therecording apparatus of FIG. 1 with an enclosure member removed;

[0040]FIG. 3 is a schematic sectional view showing a construction of therecording apparatus of FIG. 1 with the enclosure member removed;

[0041]FIG. 4 is a perspective view showing an overall recording headcartridge of one embodiment of the present invention;

[0042]FIG. 5 is an exploded perspective view showing the recording headcartridge of FIG. 4 with an ink tank;

[0043]FIG. 6 is a block diagram showing the overall configuration of anelectric circuitry of the ink jet recording apparatus of one embodimentof the present invention;

[0044]FIG. 7 is a block diagram showing the detailed configuration ofpart of the electric circuitry of the ink jet recording apparatus of oneembodiment of the present invention;

[0045]FIG. 8 is a flow chart showing a recording operation of therecording apparatus of First Embodiment of the present invention;

[0046]FIG. 9 illustrates the controlled condition of the carriage of therecording apparatus of First Embodiment of the present invention;

[0047]FIG. 10 is a block diagram schematically showing a controlcircuitry of a carriage motor of First Embodiment of the presentinvention;

[0048]FIG. 11 is a flow chart showing command value calculationprocessing of First Embodiment of the present invention;

[0049]FIG. 12 is a flow chart showing position control processing ofFirst Embodiment of the present invention;

[0050]FIG. 13 illustrates a change in drive force of the motor by theposition control processing of First Embodiment of the presentinvention;

[0051]FIG. 14 is a flow chart showing speed control processing of FirstEmbodiment of the present invention;

[0052]FIG. 15 is a flow chart showing the control of carriage drive ofFirst Embodiment of the present invention;

[0053]FIG. 16 illustrates the control state at the time when thecarriage stops in the control of carriage drive of First Embodiment ofthe present invention;

[0054]FIG. 17 is a flow chart showing the control of carriage drive ofSecond Embodiment of the present invention;

[0055]FIG. 18 is a flow chart showing in detail the processing in stepS502 of Second Embodiment of the present invention;

[0056]FIG. 19 is a flow chart showing in detail the processing in stepS502 of Third Embodiment of the present invention;

[0057]FIG. 20 illustrates the controlled condition when the carriage iscontrolled by a conventional control method;

[0058]FIG. 21 illustrates the controlled condition at the time ofstopping of the carriage in particular when the carriage is controlledby the conventional control method; and

[0059]FIG. 22 illustrates the controlled condition at the time ofstopping of the carriage in particular when the carriage is controlledby the conventional control method.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0060] The situation in which the method of controlling a motoraccording to the present invention is applied to a recording apparatuswill be described below by referring to the drawings.

[0061] Furthermore, in First to Third Embodiments described below, wetake up as an example a printer using an ink jet recording system.

[0062] <First Embodiment>

[0063] [Apparatus Body]

[0064]FIGS. 1, 2 and 3 show an outline construction of a printer usingthe ink jet recording system of First Embodiment.

[0065] In FIG. 1, an apparatus body M1000 forming the outer shell of theprinter in this embodiment is comprised of an enclosure member,including a lower case M1001, an upper case M1002, an access cover M1003and a discharge tray M1004, and a chassis M3100 (see FIG. 2)accommodated in the enclosure member.

[0066] The chassis M3100 is made of a plurality of plate-like metalmembers with a predetermined rigidity to form a skeleton of therecording apparatus, and holds various recording operation mechanismsdescribed later.

[0067] The lower case M1001 forms roughly a lower half of the apparatusbody M1000, and the upper case M1002 forms roughly an upper half of theapparatus body M1000. These upper and lower cases, when combined, form ahollow structure having an accommodation space therein to accommodatevarious mechanisms described later, and an opening is formed in its topface and front face.

[0068] In addition, the discharge tray M1004 has one end portion thereofrotatably supported on the lower case M1001, and when the discharge trayM1004 is rotated, the opening formed in the front face of the lower caseM1001 can be opened or closed. Therefore, when the recording operationis to be performed, the discharge tray M1004 is rotated forwardly toopen the opening so that recording sheets P can be discharged andsuccessively stacked. The discharge tray M1004 accommodates twoauxiliary trays M1004 a, M1004 b, and these trays can be drawn outforwardly as required.

[0069] The access cover M1003 has one end portion thereof rotatablysupported on the upper case M1002, and can open or close an openingformed in the upper surface of the upper case. By opening the accesscover M1003, a recording head cartridge H1000 or an ink tank H1900installed in the apparatus body M1000 can be replaced.

[0070] At the upper rear surface of the upper case M1002, a power keyE0018 and a resume key E0019 are provided in such a manner the keys canbe pressed, and an LED (E0020) is provided. When the power key E0018 ispressed, the LED (E0020) can light up indicating to an operator that theapparatus is ready for recording.

[0071] The LED (E0020) has a variety of display functions, such asinforming the operator of printer conditions as by changing its blinkingintervals and color. Furthermore, when a trouble or the like iseliminated, the resume key E0019 is pressed to resume the recording.

[0072] Next, a recording operation mechanism installed and held in theapparatus body M1000 of the printer will be explained.

[0073] [Recording Operation Mechanism]

[0074] The recording operation mechanism consists of: an automatic feedunit M2000 to automatically feed a recording sheet P into the apparatusbody M1000; a transport unit M3000 to guide the recording sheet P fedone at a time from the automatic feed unit M2000, to a desired recordingposition and to guide the recording sheet P from the recording positionto a discharge unit M3050; a recording unit M4000 to perform a desiredrecording on the recording sheet P carried to the transport unit M3000;and a recovery unit M5000 to recover the recording unit M4000 and thelike.

[0075] Next, the detailed configuration of each mechanism unit will bedescribed.

[0076] (Automatic Feed Unit)

[0077] The automatic feed unit M2000 dispatches in a horizontal statethe recording sheet P stacked at an angle of about 30° to 60° relativeto the horizontal plane, and feeds the recording sheet P from a feedport (not shown) into the apparatus body M1000 while maintaining theroughly horizontal state.

[0078] Specifically, the automatic feed unit M2000 comprises a sheetfeed roller M2001, a sheet feed roller axis M2100 a, a movable sideguide M2002, a platen M2003, an ASF (Auto Sheet Feeder) base M2004, anda detaching hook and separate sheet (not shown). Of these, the ASF baseM2004 roughly forms an outer shell of the automatic feed unit M2000. Themovable side guide M2002 consists of a pair of sheet guides and M2002 aand M2000 b. One sheet guide M2002 b can be moved horizontally, and isadaptable to the horizontal widths of various recording sheets P.

[0079] In the automatic feed unit M2000, a plurality of sheet feedrollers M2001 are rotatably provided through a predetermined row ofgears and the sheet feeder roller axis M2001 a from a PG motor E0003 ofa recovery unit M5000 (FIG. 6). For the recording sheets P stacked onthe platen M2003, the sheet feed roller M2001 is rotated when the PGmotor E0003 is driven, and the uppermost sheet in the stacked recordingsheets P is detached and dispatched one after another by means of thedetachment action by the detaching hook and separate sheet, and istransported to the transport unit M3000.

[0080] Here, in the transport pathway of the recording sheets extendingfrom the automatic feed unit M2000 to the transport unit M3000, a PElever M2005 is pivotaly attached to the chassis M3100 fixed in theapparatus body M1000. Then, the recording sheet P detached andtransported from the automatic feed unit M2000 is passed through thistransport pathway, and one end portion of the recording sheet P pressesone end portion of the PE lever M2005 and causes the PE lever M2005 torotate, whereby a PE sensor E007 (FIG. 6) senses the rotation of the PElever M2005, and hence senses that the recording sheet P has entered thetransport pathway.

[0081] (Transport Unit)

[0082] The transport unit M3000 comprises an LF roller M3001, a pinchroller M3002, a platen M3003 and so on. The LF roller M3001 is fixed toa drive shaft rotatably supported on the chassis M3100 and the like, andis rotated by the LF motor E0002 through a row of LF gears M3004 (FIG.6).

[0083] The pinch roller M3002 is pivotaly attached to the tip portion ofa pinch roller holder M3002 a rotatably supported on the chassis M3100,and abuts against the LF roller M3001 with a coiled pinch roller springenergizing the pinch roller holder M3002 a. When the LF roller M3001 isrotated, the pinch roller M3002 rotates in association with the rotationof the LF roller M3001, and has the recording sheet P transported withthe recording sheet P held between itself and the LF roller M3001.

[0084] A platen rib M3003 a to support and guide the transportedrecording sheet P and a preliminary discharge port M3003 b forpreliminary discharge of the recording head H1001 are provided in theplaten M3003.

[0085] In the transport unit M3000 configured in this way, the LF motorE0002 (FIG. 6) is driven after the expiration of a predetermined timeperiod after the transport operation by the sheet feed roller M2001 ofthe automatic feed unit M2000 is stopped. Thereby, the recording sheet Pwith its tip portions abutting against nip portions of the LF rollerM3001 and the pinch roller M3002 is transported to the recording startposition on the platen M3003 with the rotation of the LF roller M3001.

[0086] (Discharge Unit)

[0087] The discharge unit M3050 has a sheet discharge roller M3051 (FIG.3) capable of being rotated by transferring thereto the drive of the LFmotor E0002 (FIG. 6) through a predetermined row of gears, and hasprovided in a spur stay M3052 a spur M3053 rotating in association withthe rotation of the sheet discharge roller M3051. The discharge unitM3050 comprises a sheet discharge tray M1004 accommodating the recordingsheet P discharged by the sheet discharge roller M3051 and spur M3053,and so on.

[0088] When the recording on the recording sheet P is ended, and therear end of the recording sheet P is withdrawn from between the LFroller M3001 and the pinch roller M3002, the recording sheet P istransported only by the sheet discharge roller M3051 and the spur M3053to complete the discharge of the recording sheet P.

[0089] (Recording Unit)

[0090] The recording unit M4000 consists of a carriage M4001 supportedmovably on a carriage axis M4003, and a recording head cartridge H1000mounted detachably on this carriage M4001.

[0091] First, the recording head cartridge H1000 will be described withreference to FIGS. 4 and 5.

[0092] As shown in FIG. 4, the recording head cartridge H1000 has an inktank H1900 for storing ink, and a recording head H1001 for dischargingfrom a nozzle the ink supplied from the ink tank H1900 in accordancewith recording information. For the recording head H1001, so called acartridge system is employed in which the recording head is mounteddetachable on the carriage M4001 described later.

[0093] For the recording head cartridge H1000, independent ink tanks ofcolors including, for example, black, light cyan, light magenta, cyan,magenta and yellow are prepared as ink tanks for enabling photographichigh quality color print, and each ink tank can be attached to anddetached from the recording head H1001 as shown in FIG. 5.

[0094] For the recording head H1001, a recording element substrate (notshown) with a plurality of pores for discharging inks (referred to alsoas discharge slots and nozzles) formed therein is provided in the lowerpart of FIGS. 4 and 5. If the recording head H1001 is mounted on thecarriage M4001, the recording head H1001 opposes to the recording sheetP transported to the transport unit M3000 of the recording apparatus.Here, the recording element substrate is provided with electrothermalconverters each corresponding to each of the discharge slots togetherwith the plurality of discharge slots, and electrical wirings are laidfor supplying electricity to these electrothermal converters. Theelectrical wirings are supplied with electricity from a main PCB (E0014)of the recording apparatus (FIG. 6) when electrically connected to theportion of contact with the carriage M4001 provided on the back face ofthe recording head H1001 and fitted to the carriage M4001.

[0095] Next, the carriage M4001 will be described with reference toFIGS. 2 and 3.

[0096] The carriage M4001 is supported slidably on the carriage axisM4003 and a carriage rail M4005, and is provided with a head set leverM4002 engaging with the carriage M4001 to guide the recording head H1001to the position in which the carriage M4001 is mounted, and pressing therecording head H1001 so that the recording head H1001 is set in apredetermined mounted position.

[0097] The head set lever M4002 is provided in the upper part of thecarriage M4001, and a spring (not shown) is provided in the portion ofits engagement with the recording head H1001, and the recording headH1001 is pressed by means of the force of this spring to mount the headset lever M4002 on the carriage M4001.

[0098] A contact flexible print cable (contact FPC) E0011 is provided inanother portion of the carriage M4001 with the recording head H1001. Acontact portion E0011 a on the contact FPC (E0011) is electricallyconnected to a contact portion (external signal input terminal) (notshown) provided in the recording head H1001, and thereby variousinformation for recording can be given and received, and electricity canbe supplied to the recording head H1001.

[0099] Further, the contact FPC (E0011) is drawn to the both side facesof the carriage M4001 and connected to a carriage substrate E0013mounted on the back face of the carriage M4001.

[0100] The carriage substrate E0013 is electrically connected to a mainPCB (E0014) (FIG. 6) (described later) provided in the chassis M3100 bya carriage flexible flat cable (CRFFC) E0012. The other end portion ofthe CRFFC (E0012) is fixed to the chassis M3100 with a FFC holder M4004,and is lead to the back face side of the chassis M3100 through a hole(not shown) provided in the chassis M3100 and connected to the main PCB(E0014).

[0101] An encoder sensor E0004 (FIG. 6) is provided in the carriagesubstrate E0013. Information on an encoder scale E0005 installed inparallel to the carriage axis M4003 between the both side faces of thechassis M3100 is detected, whereby the position, the scan speed and thelike of the carriage M4001 can be detected. For example, the encodersensor E0004 is an optical transmission sensor, and the encoder scaleE0005 is such that a light blocking portion to block detection lightfrom the encoder sensor E0004 and a transmission portion through whichdetection light is transmitted are alternatingly printed atpredetermined pitches on a film made of resin such as polyester using amethod such as a photomechanical process.

[0102] Thus, the position of the carriage M4001 moving along thecarriage axis M4003 can be detected as appropriate by pushing thecarriage M4001 against one side plate of the chassis M3100 provided inthe end portion of the carriage M4001 on the scanning track, and thencounting based on the pushing position the number of patterns formed inthe encoder scale E0005 by the encoder sensor E0004 in association withthe scanning of the carriage M4001.

[0103] The carriage M4001 is fixed to a carriage belt M4008 installedroughly in parallel to the carriage axis M4003 between an idler pulleyM4006 and a carriage motor pulley M4007. The carriage motor pulley M4007is driven by the driving of the carriage motor (CR motor) E0001, andthereby the carriage M4001 can be scanned along the carriage axis M4003.Here, the idler pulley M4006 is supported on a coil spring (not shown),and appropriate tension is always applied to the carriage belt M4008.

[0104] (Recovery Unit)

[0105] The recovery unit M5000 comprises cleaning means for removingcontaminants deposited on the recording element substrate (not sown) ofthe recording head H1001, and suction means for normalizing an inkchannel extending from the ink tank H1900 to the recording elementsubstrate of the recording head H1001.

[0106] A cap M5001 is provided opposite to the recording elementsubstrate of the recording head H1001 and connected to the PG motorE0003 through a row of gears and a cam mechanism (not shown), and iscapable of moving in the direction B in the figure.

[0107] The recording element substrate of the recording head H1001mounted on the carriage M4001 moves to and then stops at the positionopposite to the cap M5001 (referred to also as capping position), and atthis time, the cap M5001 is driven vertically upward in FIG. 2, andthereby can cover the recording element substrate to provide a cappingstate.

[0108] In this capping state, when the PG motor E0003 and a pumpmechanism (not shown) connected to a predetermined row of gears areoperated, the ink is suctioned and discharged through the recordingelement substrate from the ink tank H1900 of the recording head H1001.

[0109] The recovery unit M5000 is provided with a wiper blade M5002 asmeans for cleaning the recording element substrate. The wiper bladeM5002 is connected to the PG motor E0003 through a predetermined row ofgears, and is capable of moving in the C direction in the figure. Thecarriage M4001 with the recording head H1001 mounted thereon moves toand then stops at a predetermined wiping position, and thereby the wiperblade M5002 is driven frontward in FIG. 2. By this operation, the wiperblade M5002 abuts against the recording element substrate of therecording head H1001 to perform cleaning.

[0110] Furthermore, in the case where the wiper blade M5002 is operatedto clean the recording element substrate, the cap M5001 is moved to aposition at some distance from the recording element substrate.

[0111] One of recovery operations of the recording head H1001independent of the operations of the recovery unit M5000 is apreliminary discharge operation. When the recording head H1001discharging inks of two or more colors is used to perform the aforesaidsuction operation and wiping operation, a problem may arise associatedwith mixture of inks, and this preliminary discharge operation isintended to remedy this situation.

[0112] Such a phenomenon is caused by an ink sucked out from an inkdischarge slot by suction at the time of suction operation entering adischarge slot for an ink of different color, and inks of various colorsdeposited on the periphery of the ink discharge slot at the time ofwiping operation being pushed into a discharge slot for an ink ofdifferent color by the wiper. In this case, when the next recording isstarted, the initial portion may undergo discoloration (or colormixture) to degrade an image. Discharging in advance some inksundergoing color mixture immediately before recording in order toeliminate this color mixture phenomenon is referred to as preliminarydischarge.

[0113] In First Embodiment, as shown in FIG. 2, the preliminarydischarge slots M3003 b are provided in proximity to the both endportions of the platen M3003, and the recording element substrate of therecording head H1001 is moved to a position opposite to the preliminarydischarge slot M3003 b in predetermined timing to perform operations. Atthis time, a preliminary discharge slot performing preliminary dischargeis selected in accordance with a predetermined process.

[0114] (Configuration of Electric Circuit)

[0115]FIGS. 6 and 7 schematically show the overall configuration of theelectric circuit in First Embodiment.

[0116] The electric circuit in First Embodiment mainly comprises acarriage substrate (CRPCB) E0013, a main PCB (Printed Circuit Board)E0014 and a power supply unit E0015.

[0117] The power supply unit E0015 is connected to the main PCB (E0014)to supply a variety of drive power.

[0118] The carriage substrate E0013 is mounted on the carriage M4002(FIG. 2), and transforms signals to and from the recording head H1001through the contact FPC (E0011). In addition, based on a pulse signaloutput from an encoder E0004 as the carriage M4001 moves, the carriagesubstrate E0013 detects a change in the positional relation between anencoder scale E0005 and the encoder sensor E0004, and outputs its outputsignal to the main PCB (E0014) through the CRFFC (E0012).

[0119] Further, the main PCB (E0014) is a printed board unit thatcontrols the operation of various parts of the recording apparatus, andhas on the substrate IO ports for an ink empty sensor E0006, a paper enddetection sensor (PE sensor) E0007, an ASF sensor E0009, a cover sensorE0022, a parallel I/F (E0016), a serial I/F (E0017), a resume key E0019,a LED (E0020), a power key E0018, a buzzer E0021 and the like. Further,the main PCB (E0014) is connected to the CR motor E0001, the LF motorE0002 and the PG motor E0003 and controls the operations thereof, andalso has connection interfaces with the ink empty sensor E0006, the CAPsensor E0008, the PG sensor E0010, the CRFFC (E0012) and the powersupply unit E0015.

[0120] Reference number E1001 denotes a CPU, which has therein anoscillator OSC (E1002), and is connected to an oscillation circuit E1005to generate a system clock based on an output signal E1019 of theoscillation circuit E1005. The CPU E1001 is connected to a ROM (E1004)and an ASIC (Application Specific Integrated Circuit) E1006 through acontrol bus E1014, and according to a program stored in the ROM (E1004),controls the ASIC (E1006), and checks the status of an input signalE1017 from the power key E0018, an input signal E1016 from the resumekey E0019, a cover detection signal E1042 and a head detection signal(HSENS) E1013. In addition, the CPU E1001 drives the buzzer E0021according to a buzzer signal (BUZ) E1018, and checks the status of anink empty detection signal (INKS) E1011 and a thermistor temperaturedetection signal (TH) E1012, and also performs various other logicoperations and makes conditional decisions to control the operation ofthe apparatus.

[0121] The head detection signal E1013 is a head mount detection signalentered from the recording head cartridge H1000 through the CRFFC(E0012), the carriage substrate E0013 and the contact FPC (E0011). Theink empty detection signal is an analog signal output from the ink emptysensor E0006. The thermistor temperature detection signal E1012 is ananalog signal from a thermistor (not shown) provided on the carriagesubstrate E0013.

[0122] Reference number E1008 denotes a CR motor driver serving as meansfor driving the CR motor E0001, which uses a motor power supply (VM)E1040 as a driving source to generate a CR motor drive signal E1037according to a CR motor control signal E1036 from the ASIC (E1006) todrive the CR motor E0001. Reference number E1009 denotes an LF/PG motordriver which uses the motor power supply E1040 as a driving source togenerate an LF motor drive signal E1035 according to a pulse motorcontrol signal (PM control signal) E1033 from the ASIC (E1006), therebydriving the LF motor E0002 and generating a PG motor drive signal E1043to drive the PG motor E0003.

[0123] Reference number E1010 denotes a power supply control circuitwhich controls the supply of electricity to respective sensors and thelike with light emitting elements according to a power supply controlsignal E1024 from the ASIC (E1006). The parallel I/F (E0016) transfers aparallel I/F signal E1030 from the ASIC (E1006) to a parallel I/F cableE1031 connected to external circuits. The parallel I/F (E0016) transfersa signal from the parallel I/F cable E1031 to the ASIC (E1006). Theserial I/F (E0017) transfers a serial I/F signal E1028 from the ASIC(E1006) to a serial I/F cable E1029 connected to external circuits. Theserial I/F (E0017) also transfers a signal from the serial I/F cableE1029 to the ASIC (E1006).

[0124] On the other hand, a head power (VH) E1039, a motor power (VM)E1040 and a logic power (VDD) E1041 are supplied from the power unitE0015. A head power ON signal (VHON) E1022 and a motor power ON signal(VMOM) E1023 are input from the ASIC (E1006) to the power supply unitE0015 to perform the ON/OFF control of the head power E1039 and themotor power E1040, respectively. The logic power (VDD) E1041 suppliedfrom the power supply unit E0015 is voltage-converted as required andsupplied to various parts inside or outside the main PCB (E0014).

[0125] The head power E1039 is smoothed on the main PCB (E0014) and thensent out to the CRFFC (E0012) to be used for driving the recording headcartridge H1000.

[0126] Reference number E1007 denotes a reset circuit which detects areduction in the logic power voltage E1040, and supplies a reset signal(RESET) E1015 to the CPU (E1001) and the ASIC (E1006) to initiate them.

[0127] The ASIC (E1006) is a single-chip semiconductor integratedcircuit, and is controlled by the CPU (E1001) through the control busE1014 to output the CR motor control signal E1036, the PM control signalE1033, the power control signal E1024, the head power ON signal E1022and the motor power ON signal E1023 described previously and so on, andtransfers signals to and from the parallel I/F (E0016) and the serialI/F (E0017). In addition, the ASIC E1006 detects the status of a PEdetection signal (PES) E1025 from the PE sensor E0007, an ASF detectionsignal (ASFS) E1026 from the ASF sensor E0009, a GAP detection signal(GAPS) E1027 from the GAP sensor E0008, and a PG detection signal (PGS)E1032 from the PG sensor E0010, and sends data representing the statusesto the CPU (E1001) through the control bus E1014, and the CPU (E1001)controls the operation of an LED drive signal E1038 based on the inputdata to turn on or off the LED (E0020).

[0128] Further, the ASIC E1006 checks the status of an encoder signal(ENC) E1020, generates a timing signal, and interfaces with therecording head cartridge H1000 to control the recording operation by ahead control signal E1021. Herein, the encoder signal (ENC) E1020 is anoutput signal of the CR encoder sensor E0004 input through the CRFFC(E0012). The head control signal E1021 is supplied to the recording headcartridge H1000 through the CRFFC (E0012), the carriage substrate E0013and the contact FPC (E011).

[0129] In this way, the ASIC E1006 detects an encoder signal from theencoder sensor E0004 mounted on the carriage substrate E0013 to generatea timing signal. Based on this timing signal, desired recordinginformation and the like, the ASIC E1006 interfaces with the recordinghead cartridge H1000 to control the recording operation, and controlsthe operation of the carriage M4001 described later based on the encodersignal. The CPU (E1001) controls the operations of various parts of therecording apparatus in cooperation with the ASIC (Application SpecificIntegrated Circuit) E1006.

[0130] The CR motor E0001, the LF motor E0002 and the PG motor E0003 arecontrolled based on control signals of the CPU (E1001) through the CRmotor driver E1008 and the LF/PC motor driver E1009, respectively.Furthermore, in the case of First Embodiment, the LF/PG motor driverE1009 is independently provided in the same element.

[0131] Next, the operation of the recording apparatus of FirstEmbodiment will be described with reference to FIG. 8.

[0132]FIG. 8 is a flow chart showing the operation of the recordingapparatus of First Embodiment of the present invention.

[0133] When the recording apparatus is connected to an AC power supply,first initialization of the recording apparatus is first performed atstep S1. In this first initialization, the electric circuit systemincluding the ROM and RAM in the apparatus is checked to ensure that theapparatus is electrically operable.

[0134] Next, at step S2, whether the power key E0018 provided on theupper case M1002 of the apparatus body M1000 is turned on or not isdetermined. If it is determined that the power key E0018 is turned on(YES in step S1), the processing moves to step S3 where secondinitialization is performed. On the other hand, if it is determined thatthe power key E0018 is not turned on (NO in step S1), the process in onstandby until the power key E0018 is turned on.

[0135] At step S3, second initialization is performed. Here, variousdrive mechanisms and the head system of the apparatus are checked. Thatis, when various motors are initialized, and head information of therecording head H1001 is read, whether the apparatus is normally operableis checked.

[0136] Next, at step S4, an event is waited. That is, a command eventfrom the external I/F, a panel key event from the user operation, aninternal control event and the like are monitored, and when any of theseevents occurs, processing corresponding to the event is executed.

[0137] For example, when a print command event is received from theexternal I/F at step S4, the processing moves to step S5. When a powerkey event from the user operation occurs, the processing moves to stepS10. Further, if another event occurs, the processing moves to step S11.

[0138] At step S5, the print command from the external I/F is analyzed,a specified paper kind, paper size, print quality, paper feeding methodsand the like are determined, and data representing the result of thedetermination is stored in RAM in the apparatus. Next, at step S6, thepaper is fed according to the paper kind, paper size, print quality,paper feeding method and the like specified at step S5 until therecording sheet P is situated at the recording start position.

[0139] Next, at step S7, the recording operation is performed. In thisrecording operation, the recording data sent from the external I/F isstored temporarily in the recording buffer, and then the CR motor E0001is started to move the carriage M4001 in the scanning direction, and therecording data stored in the recording buffer is supplied to therecording head H1001 to record one line. When one line of recording datahas been recorded, the LF motor E0002 is driven to rotate the LF rollerM3001 to transport the recording sheet P in the sub-scanning direction.After this, the above operation is executed repetitively until one pageof the recording data from the external I/F is completely printed, atwhich time the processing moves to step S8.

[0140] At step S8, the LF motor E0002 is driven to rotate the sheetdischarge roller M3051 to feed the sheet until it is decided that therecording sheet P is completely fed out of the apparatus, at which timethe recording sheet P is completely discharged onto the sheet dischargetray M1004.

[0141] Next at step S9, whether all the pages that need to be recordedhave been recorded is determined. If there are pages that remain to berecorded (NO in step S9), the processing returns to step S5, and thesteps S5 to S9 are repeated. On the other hand, when all the pages thatneed to be recorded have been recorded (YES in step S9), the recordingoperation is ended. After this, the processing moves to step S4 wherethe next even is waited.

[0142] On the other hand, at step S10, the printing terminationprocessing is performed to stop the operation of the apparatus. That is,to turn off various motors and the recording head H1001, the apparatusis rendered ready to be cut off from power supply and the apparatus isturned off. After this, the processing moves to step S4 where the nextevent is waited.

[0143] At step S11, other event processing is performed. For example,processing corresponding to the command of recovery processing of therecording head from various panel keys of the apparatus and the externalI/F and the recovery event that occurs internally. After this, theprocessing moves to step S4 where the next event is waited.

[0144] Next, the control of the CR motor E0001 and the carriage M4001 inthe recording apparatus having this configuration will be described.

[0145] As described previously, the carriage M4001 uses as a drivingsource the CR motor E0001 driven by a CR motor control signal from theASIC (E1006).

[0146]FIG. 9 is a graph showing how the command speed and commandposition of the carriage M4001 are changed with time.

[0147] The operation state of the carriage M4001 can be classifiedbroadly into three statuses: the acceleration state in which the staticcarriage M4001 is accelerated to gain a predetermined constant speed;the constant-speed state in which ink drops are discharged from therecording head H1001 mounted on the carriage M4001 to carry outrecording on the recording sheet guided to the platen M3003 of therecording apparatus; and the deceleration state in which the carriageM4001 has its speed reduced to stop at a predetermined position.

[0148] In the case of First Embodiment, the command speed V (t) in theacceleration state is calculated so that the speed increases with timeon a proportional basis. Here, a variety of processing for performingdrive scanning of the carriage M4001 is performed by the CPU (E1001)periodically at predetermined intervals of, for example, 1 ms.

[0149] The time representing the acceleration state shown in FIG. 9 isacceleration time, similarly the time representing the decelerationstate is deceleration time, the position that must be finally reached byone time scanning of the carriage M4001 is a ultimate target positionXT, and the speed of scanning performed in the constant-speed state isan ultimate speed VT.

[0150]FIG. 10 is a block diagram schematically showing the controlcircuit of the CR motor E0001 of First Embodiment of the presentinvention.

[0151] Furthermore, this control circuit is provided, for example, onthe main PCB (E0014) and in the ASIC (E1006). Alternatively, a programcode for achieving the processing of the control circuit is stored inthe ROM (E1004), and the CPU (E1001) reads this program code andexecutes the processing.

[0152] In First Embodiment, the control of the CR motor E0001 isfeedback control based on information of the position and speed of thecarriage M4001 as shown in FIG. 10.

[0153] The control circuit mainly comprises a command value calculationprocessing unit 1 that calculates the command values of the speed andposition of the carriage M4001 at each predetermined time, a positioncontrol processing unit 2 that controls the position of the carriageM4001, a speed control processing unit 3 that controls the speed, and amotor control processing unit 4 that converts the calculated valuescalculated by the position control processing unit 2 and the speedcontrol processing unit 3 into values suitable for inputs to the CRmotor driver E1008 for driving the CR motor E0001 serving as a drivingsource of the carriage M4001.

[0154] Furthermore, in First Embodiment, information of the position andspeed of the carriage M4001 is detected based on the encoder sensorE0004 and the encoder scale E0005. The detected information of theposition and speed is stored as appropriate in a DRAM (not shown)provided in the ASIC (E1006). The CPU (E1001) acquires the storedinformation of the position and speed for each time of feedback controlprocessing. The command value calculation processing unit 1 calculatesthe command speed V (t) and the command position X (t) at each time ofprocessing as shown in FIG. 9.

[0155] Next, the command value calculation processing executed by thecommand value calculation processing unit 1 will be described withreference to FIG. 11.

[0156]FIG. 11 is a flow chart showing the command value calculationprocessing of First Embodiment of the present invention.

[0157] First, at step S10, the CPU (E1001) determines the state of thecarriage M4001: acceleration state, constant-speed state, ordeceleration state, from the result of measurements by the encodersensor E0004 mounted on the carriage M4001.

[0158] If it is determined at step S10 that the carriage M4001 is in theacceleration state, the processing moves to step S11, where the commandspeed V (t) is calculated from values including the speed VT to beachieved in the predefined constant-speed state, the acceleration α1 andthe initial speed Vs. In the case of First Embodiment, the command speedV (t) is calculated based on the following equation.

command speed V (t)=α1 t+Vs

[0159] If it is determined at step S10 that the carriage M4001 is in theconstant-speed state, the processing moves to step S12, where thecommand speed V (t) is calculated based on the premise that the commandspeed V (t) equals the ultimate speed VT, namely the equation of commandspeed V (t)=ultimate speed VT holds.

[0160] If it is determined at step S10 that the carriage M4001 is in thedeceleration state, the processing moves to step S13, where the commandspeed V (t) is calculated from the predefined ultimate speed VT and theacceleration α2 during deceleration. In the case of First Embodiment,the command speed V (t) is calculated based on the following equation.

command speed V (t)=α2 t+VT

[0161] Here, since the acceleration α2 during deceleration is a negative(−) value, a command speed V (t) that decreases linearly is obtained.

[0162] After the command speed V (t) is calculated according to thedriven state of the carriage M4001, the processing moves to step S14,where the command speed V (t) is added at each time of processing tocalculate the command position X (t). In the case of First Embodiment,the processing is performed at time intervals of 1 ms, and therefore theunit time of the command speed V (t) is 1 ms. In this way, by directlyadding this command speed V (t), the movement length, namely the commandposition X (t) can be calculated. Furthermore, the subscript (t)represents a time value at predetermined time of processing.

[0163] Next, the position control processing unit 2 calculates adeviation between the command position X (t) calculated by the commandvalue calculation processing unit 1 and the actual position x (t) of thecarriage M4001 driven through a series of feedback control, namely adeviation of position XE (t). Then, a speed control amount VC (t) iscalculated from the deviation of position XE (t) and the command speed V(t) calculated by the command value calculation processing unit 1. Atthis time, the actual command position X (t) of the carriage M4001 is aresult obtained based on the output to the CR motor E0001 calculated atthe immediately previous time of processing in which position controlprocessing is performed, and thus (t−1) is added to the command positionX (t) when it is presented.

[0164] In the case of First Embodiment, position control processingperformed by the position control processing unit 2 is processingperformed only when the carriage M4001 has been shifted to thedeceleration state, and is not performed when the carriage M4001 iseither in the acceleration state or the constant-speed state. Here,whether the carriage M4001 has been shifted to the deceleration state isdetermined from the position of the carriage M4001, and the decelerationstarting position at which deceleration is started is calculated from apredefined deceleration length. It is determined that the carriage M4001has been shifted to the deceleration state when the encoder scale E0005and the encoder sensor E0004 detects that the carriage M4001 is situatedat the acceleration starting position.

[0165] Next, position control processing performed by the positioncontrol processing unit 2 will be described with reference to FIG. 12.

[0166]FIG. 12 is a flow chart showing the position control processing ofFirst Embodiment of the present invention.

[0167] First, the actual position x (t−1) of the carriage M4001 issubtracted from the command position X (t) calculated by the commandvalue calculation processing unit 1 to calculate a deviation of positionXE (t).

[0168] Next, at step S21, whether the carriage M4001 is situated at thedeceleration starting position or not is determined. If the carriageM4001 is not situated at the deceleration starting position (NO in stepS21), the processing moves to step S23. On the other hand, if thecarriage M4001 is situated at the deceleration starting position (YES instep S21), the processing moves to step S22. At step S22, the value ofdeviation of position XE (t) calculated at step S20 is reset to “0” bythe CPU (E1001) serving as means for controlling deviations of position.

[0169] Here, during a period of time between the instant when thedriving of the carriage M4001 is started and the instant when thecarriage M4001 is shifted to the deceleration state, there is usually adeviation with respect to time between the command position X (t) andthe actual position x (t−1) of the carriage M4001, in which the actualposition x (t−1) of the carriage M4001 is behind the command position X(t). As a result, at the time when the carriage M4001 is shifted to thedeceleration state, there is a deviation of position XE (t). Thus, atthe deceleration starting position, the deviation of position XE (t) istemporarily reset, so that the command position X (t) equals the actualposition x (t−1) of the carriage M4001 in this timing.

[0170] Next, at step S23, the deviation of position XE (t) is divided bya timing period T in which the position control processing is performedfor dealing with the deviation of position XE (t) as a speed. Afterthis, the obtained value is multiplied by a position control constant Pto calculate a speed control amount Vc (t). Furthermore, if it isdetermined at step S21 that the carriage M4001 is no longer situated atthe deceleration starting position, but is already in the decelerationstate, the deviation of position XE (t) is not reset, but the speedcontrol amount Vc (t) is immediately calculated according to the stepS23.

[0171] Then, at step S24, the ultimate target position XT of thecarriage M4001 is compared to the actual position x (t−1) Then, at stepS25, whether the actual position x (t−1) is equal to or beyond theultimate target position XT or not is determined. If the actual positionx (t−1) is behind the ultimate target position XT (NO in step S25), theprocessing is ended. On the other hand, the actual position x (t−1) isequal to or beyond the ultimate target position XT (YES in step S25),the processing moves to step S26.

[0172] At step S26, if the actual position x (t−1) equals the ultimatetarget position XT, the speed control amount Vc (t) is 0. If the actualposition x (t−1) is beyond the ultimate target position XT, the speedcontrol amount Vc (t) is multiplied by −1 to be converted into anegative value.

[0173] Here, the speed control amount Vc (t) is converted into a motorcontrol amount M suitable for the CR motor driver E1008 in the motorcontrol processing unit 4, and the CR motor E0001 is driven according tothe motor control amount M. If the speed control amount Vc (t) is anegative value, the speed control amount Vc (t) is calculated as a motorcontrol amount M indicating a scanning in the direction opposite to thedirection in which the carriage M4001 is scanned. That is, in the stopoperation of the carriage M4001, if the carriage M4001 is situatedbeyond the ultimate target position XT in its scanning direction, themotor control amount M indicating a scanning in the opposite directionis immediately calculated by the motor control unit 4.

[0174] Then, at step S27, an acceptable ultimate target range nincluding positions ahead and behind the ultimate target position XT, n(XT−n/2 to XT+n/2) is compared to the actual position x (t−1) of thecarriage. At step S28, whether the actual position x (t−1) is beyond theacceptable ultimate target range n (XT−n/2toXT+n/2) or not isdetermined. If the actual position x (t−1) is not beyond the acceptableultimate target range (XT−n/2toXT+n/2) (NO in step S28), the processingis ended. On the other hand, if the actual position x (t−1) is beyondthe acceptable ultimate target range n (XT−n/2toXT+n/2) (YES in stepS28), the processing immediately moves to step S29 where the speedcontrol amount Vc (t) is set to 0.

[0175] Here, when the speed control amount Vc (t) is set to 0, thedriving of the motor is immediately stopped by the motor controlprocessing unit 4.

[0176] The motor control amount M where control is performed in this wayis shown in FIG. 13.

[0177] In this case, the motor control amount M is proportional to theprevious speed control amount Vc (t), and is hence proportional to thedrive force generated by the motor, and the same holds true for theirchanges.

[0178] First, the transition of the motor control amount M where thecarriage M4001 moves in the − to + direction as shown by the solidarrow, toward the ultimate target position XT to be achieved will bedescribed.

[0179] In this figure, the carriage M4001 moves to the ultimate targetposition XT according to the solid line arrow, and at the time when thecarriage M4001 passes by the ultimate target position XT, the speedcontrol amount Vc (t) is converted into a negative value through theprocessing in the step 26 of FIG. 12. Thereafter, when the carriageM4001 reaches the maximum acceptable ultimate position (XT+n/2), thespeed control amount Vc (t) is set 0, and consequently the driving ofthe motor is stopped.

[0180] On the other hand, the same holds true for the transition of themotor control amount M where the carriage M4001 moves in the + to −direction as shown by the dotted arrow, toward the ultimate targetposition XT to be achieved will be described.

[0181] In this figure, the carriage M4001 moves to the ultimate targetposition XT according to the dotted line arrow, and at the time when thecarriage M4001 passes by the ultimate target position XT, the speedcontrol amount Vc (t) is converted into a negative value. Thereafter,when the carriage M4001 reaches the minimum acceptable ultimate position(XT−n/2), the speed control amount Vc (t) is set 0, and consequently thedriving of the motor is stopped.

[0182] Furthermore, in the case where the carriage M4001 moves in the +to − direction, the sign of the motor control amount M is opposite tothe sign where the carriage moves in the − to + direction.

[0183] Then, the speed control processing performed by the speed controlprocessing unit 3 will be described with reference to FIG. 14.

[0184]FIG. 14 is a flow chart showing the speed control processing ofFirst Embodiment of the present invention.

[0185] Furthermore, this speed control processing is to control thespeed of the carriage M4001 being scanned, and is used when the carriageM4001 is in the acceleration state, constant-speed state anddeceleration state. The speed control processing is well known PID(Proportional, Integral, and Differential) control processing, in whichprocessing is performed based on the deviation between the command speedand the actual speed.

[0186] First, the input in this speed control processing is the speedcontrol amount Vc (t). In the case of First Embodiment, the results fromthe position control processing unit 2 are not used in the accelerationand constant-speed states. Therefore, this speed control amount Vc (t)equals the command speed V (t) calculated in the command valuecalculation processing 1.

[0187] First, at step S31, the command speed V (t) calculated by thecommand value calculation processing unit 1 is considered as the speedcontrol amount Vc (t), and the actual speed v (t−1) of the carriageM4001 is subtracted from the command speed V (t) to calculate adeviation of speed VE (t). Here, the actual speed v (t−1) of thecarriage M4001 is a speed which the CR motor E0001 can gain when it isdriven. Therefore, (t−1) representing the result of the previous controlis added.

[0188] Then, based on the deviation of speed VE (t) calculated at thestep S31, a differential control amount Vd (t), a filter control amountVf (t), and an integral control amount Vi (t) are calculated at stepsS32 to S34, respectively.

[0189] The differential control amount Vd (t) to be calculated at thestep S32 is calculated by determining a difference between the deviationof speed VE (t) calculated at the step S31 and the deviation of speed VE(t−1) calculated in the previous speed control processing, andmultiplying the difference by a predefined differential control constantKd. That is, the differential control amount Vd (t) is a value dependenton the change with time in the deviation of speed VE (t).

[0190] For the filter control amount Vf (t) to be calculated in thefilter processing at the step S33, the deviation of speed VE (t)calculated at step S31 is subtracted from the filter control amount Vf(t−1) calculated at the immediately previous time of processing, and thevalue resulting from the subtraction is multiplied by the filter controlconstant Kf. Further, the deviation of speed VE (t) is added to thevalue resulting from this multiplication to calculate the filter controlamount Vf (t).

[0191] Furthermore, in the filter processing at this time, a frequencycomponent reflected on the deviation of speed VE (t) can be changedaccording to the predefined value of filter control constant Kf. In thecase of First Embodiment, for example, the speed control processing unit3 is set so that processing is performed at time intervals of 1 ms, andtherefore if the filter processing is not performed, a change within 1KHz is reflected on the deviation of speed VE (t) to be calculated atstep S31. If the filter processing is performed, a frequency that isreflected can be set to 1 KHz or smaller depending on the value offilter control constant Kf.

[0192] The integral control amount Vi (t) to be calculated at step S34is calculated by adding the filter control amount Vf (t) calculated atstep S33 to the filter control amount Vf (t−1) calculated at theimmediately previous time of processing, and multiplying the resultingvalue by an integral control constant Ki. That is, the integral controlamount Vi (t) is a value dependent on the value obtained by adding thefilter control amount Vf (t) at each time of processing.

[0193] Then, at step S35, the differential control amount Vd (t), theintegral control amount Vi (t), and the filter control amount Vf (t) allcalculated in this way are added together, and the value resulting fromthe addition is multiplied by a proportional control constant Kp tocalculate the speed control amount Vc (t) that is the result ofprocessing by the speed control processing unit 3.

[0194] Furthermore, the speed control amount Vc (t) calculated by theposition control processing unit 2 and the speed control processing unit3 is not a value suitable for the carriage motor driver E1004 fordriving the CR motor E0001. Therefore, this speed control value Vc (t)is converted into a motor control amount M suitable for the motor driverE1004 by the motor control processing unit 4, and the speed controlamount Vc (t) is input to the motor driver E1004, and as a result, thecarriage M4001 is driven and scanned.

[0195] In this way, the speed control amount Vc (t) is calculated by theposition control processing unit 2 and the speed control processing unit3, and is converted into the motor control amount M in the motor controlprocessing unit 4. Then, the carriage M4001 is controlled so as to bescanned in accordance with the command order of the CPU (E1001).

[0196] Next, the carriage drive control of First Embodiment for thecarriage M4001 that is feedback-controlled will be described withreference to FIG. 15.

[0197]FIG. 15 is a flow chart showing the carriage drive control ofFirst Embodiment of the present invention.

[0198] The command order for recording operation is issued from the CPU(E1001) through the parallel I/F (E0016) and the serial I/F (E0017), andpredetermined initial processing, feeding of the recording sheet P andthe like are performed, followed by issuing a command order for drivingthe carriage M4001. When the command order for driving the carriageM4001 is issued, the command order is first received through theparallel I/F (E0016) and the serial I/F (E0017) and analyzed, and theultimate speed VT and the ultimate target position XT for the carriageM4001 is read together with desired recording information at step S401.A drive mode of the carriage M4001 is determined from the ultimate speedVT and the above acceleration and deceleration α.

[0199] Then, at step S402, the feedback processing is started fordriving and scanning the carriage M4001. With the feedback processing,the carriage M4001 starts accelerating, and is controlled so as to reacha predetermined ultimate speed VT designated at step S401, and is driventoward the ultimate target position XT.

[0200] When the driving of the carriage M4001 is started, then at stepS403, the CPU (E1001) monitors an encoder signal from the encoder sensorE0004 at each time of feedback processing to determine whether thecarriage M4001 has reached a position within the acceptable ultimatetarget range n (XT−n/2 to XT+n/2). Here, in the case of FirstEmbodiment, the length of the acceptable ultimate target range n is 0.68mm, extending from the position 0.34 mm before the ultimate targetposition XT in the scanning direction of the carriage M4001 to theposition 0.34 mm after the ultimate target position XT in the scanningdirection of the carriage (i.e. position within the range of fromXT−0.34 to XT+0.34).

[0201] At step S403, if the carriage M4001 has not reached a positionwithin the acceptable ultimate target range n (NO in step S403),monitoring is continued until the carriage M4001 reaches the position.On the other hand, if the carriage M4001 has reached a position withinthe acceptable ultimate target range n (YES in step S403), theprocessing moves to step S404, where whether the carriage M4001 issituated beyond the ultimate target position range n is determined.

[0202] If the carriage M4001 is situated beyond the ultimate targetposition range n (YES in step S404), the motor control amount M isstopped by the position control processing described with reference toFIG. 12, and thereafter the processing moves to step S407. On the otherhand, if the carriage M4001 is not situated beyond the ultimate targetposition range n (NO in step S404), the processing moves to step S405where stop determination processing is performed. Then, at step S406,whether the carriage M4001 has stopped or not is determined according toa predetermined stop determination condition. Here, the predeterminedcondition is such that it is determined that the carriage M4001 hasstopped when it is recognized that the carriage M4001 has been situatedwithin the acceptable ultimate target range n for 10 ms, for example. Asa result of the determination, the processing returns to step S404 atstep S406 if the stop determination condition is not satisfied (NO instep S406). On the other hand, if the stop determination condition issatisfied (YES in step S406), the processing moves to step S407, wherethe feedback processing is ended assuming that the scanning for thecarriage M4001 is completed.

[0203] Then, at step S408, whether a next command order, namely a nextevent is directed or not is determined. Here, the next event refers tothe operation of transporting the recording sheet P by the driving ofthe LF motor E0002 subsequent to the scanning for the carriage M4001,and the operation of driving the recovery unit M5000 to recover therecording head H1001 when the recording operation is performed.

[0204] At step S408, if the next event is directed (YES in step S408),the processing moves to step S409 where the next event is executed toend a series of processing associated with the carriage M4001. On theother hand, if the next event is not directed (NO in step S408), theprocessing moves to step S410 where the next event is waited untilpredetermined time elapses.

[0205] At step S410, if the next event is not directed even when thepredetermined time elapses (YES in step S410), the processing moves tostep S411, where the carriage M4001 is driven to a position opposite tothe cap M5001 of the recovery unit M5000, followed by performing acapping operation and the like and carrying out termination processingto end a series of operations.

[0206] Next, the motor control amount M for driving the carriage M4001in the above carriage drive control is shown in FIG. 16.

[0207]FIG. 16 shows the situation in which the carriage M4001 is scannedwith its speed sufficiently reduced in the direction toward the ultimatetarget position XT ((1) in the figure) and the situation in which thecarriage M4001 is scanned with its speed reduced from a speed fasterthan that of the former situation ((2) in the figure).

[0208] First, in the situation in which the carriage M4001 is scannedwith its speed sufficiently reduced ((1) in the figure), the motorcontrol amount M reaches 0 at the time when the carriages passes by theultimate target position XT, and thereafter the motor control amount Mgenerates a motor control amount M in the direction opposite to thescanning direction of the carriage M4001. Even if the motor controlamount M in the opposite direction is generated, a mechanical time delayoccurs in association with a spring (not shown) supporting electricallythe idler pulley M4006 and the carriage belt M4008 in the transfersystem extending from the motor control processing unit 4 through the CRmotor driver E1008 to the CR motor E0001, and from the CR motor E0001 tothe carriage M4001, and therefore the carriage M4001 cannot be scannedin the opposite direction immediately. Thus, the carriage M4001 movesfor a while without being given a certain scanning direction.

[0209] Furthermore, there are cases where the carriage M4001 movesbeyond the acceptable maximum ultimate position XT+n/2 (in the case ofFirst Embodiment, n=0.68 mm), and in these cases, the motor controlamount immediately reaches 0 to stop generation of a motor drive. Whenthe generation of a motor drive force is stopped, the speed of thecarriage M4001 is sufficiently decreased and hence the inertial force isreduced, and therefore the opposite motor drive force generated by themotor is transferred to the carriage M4001 to move the carriage M4001 inthe opposite direction slightly.

[0210] Then, in the situation in which the carriage M4001 is scannedwith its speed reduced from a speed faster than that of the formersituation ((2) in the figure), the carriage M4001 passes by theacceptable maximum ultimate position XT+n/2, and stops after movingslightly beyond the acceptable maximum ultimate position XT+n/2 even ifthe generation of the motor drive force is stopped. In this case,although the carriage M4001 stops after moving after the acceptablemaximum ultimate position XT+n/2, and the carriage M4001 stops with nooscillation phenomenon occurring even in this situation. Here, thecarriage M4001 stops at a position within a predetermined range D in thefigure depending on the weight of the carriage M4001, the load on themotor, the control constant and the like.

[0211] As described above, according to First Embodiment, the carriageM4001 is drive-controlled in the way described above, thereby making itpossible to have the carriage M4001 stopped at a position within theacceptable ultimate target range in the stop operation of the carriageM4001. Even if the carriage M4001 moves beyond the acceptable ultimatetarget range n, the carriage M4001 can be stopped without causing anoscillation phenomenon.

[0212] <Second Embodiment>

[0213] The acceptable ultimate target range n for the carriage M4001 isprovided in a fixed manner in the description of First Embodiment, butin Second Embodiment, the acceptable ultimate target range n is providedin a variable manner depending on the ultimate target position XT forthe carriage M4001.

[0214] In the case of the recording apparatus, there are a large numberof ultimate target positions for the carriage M4001 in terms of itsconfiguration and function. For example, there exist a camping positionat which the recording element substrate of the recording head H1001mounted on the carriage M4001 and the cap M5001 of the recovery unitM5000 are situated opposite to each other to carry out camping andsuction the ink, a wiping position opposite to the wiper blade M5002 ofthe recovery unit M5000 to carry out the wiping operation, a preliminarydischarge position of a preliminary discharge slot M3003 b for carryingout preliminary discharge from the recording head H1001, and so on.

[0215] The carriage drive control of Second Embodiment for the carriageM4001 in this case will be described with reference to FIG. 17.

[0216]FIG. 17 is a flow chart showing the carriage drive control ofSecond Embodiment of the present invention.

[0217] Furthermore, the flow chart of FIG. 17 is similar to the flowchart of FIG. 15 of First Embodiment except that processing of step S502is added, and for the common steps, the same step numbers are given andthe descriptions thereof are not presented.

[0218] In FIG. 17, when a command order for driving the carriage M4001is issued, the command order is received through the parallel I/F(E0016) and the serial I/F (E0017) and analyzed, and the ultimate speedVT and the ultimate target position XT for the carriage M4001 are readtogether with desired recording information at step S401. Then at stepS502, the acceptable ultimate target range n is selected according tothis ultimate target position XT and set.

[0219] Next, details of the processing of this step S502 will bedescribed with reference to FIG. 18.

[0220]FIG. 18 is a flow chart showing details of the processing of stepS502 of Second Embodiment of the present invention.

[0221] When the ultimate speed VT and the ultimate target position XTare read, whether the ultimate target position XT is the campingposition, the wiping position, the preliminary discharge position orother position is first determined at step S601. If it is found that theultimate target position XT is the camping or wiping position as aresult of the determination, the processing moves to step S605 by way ofstep S602 or step S603 where an acceptable ultimate target range n1 isset. Here, the n1 is, for example, 0.68 mm as described in FirstEmbodiment.

[0222] On the other hand, if the ultimate target position XT is apreliminary discharge position or other position, the processing movesto step S606 by way of step S604 where an acceptable ultimate targetrange n2 is set. Here, the n2 is 1.35 mm, which is twice as large as then1.

[0223] Furthermore, in the camping position and the wiping position,high stop accuracy is required for having situated opposite to eachother the cap M5001, wiper blade M5002 and the like shown in FIG. 2 andthe recording head H1001 mounted on the carriage M4001 to satisfactorilyperform the suction operation and the wiping operation. Therefore, avalue of 0.68 mm is set for the n1. On the other hand, in thepreliminary and discharge position and other position, the operationsare satisfactorily performed even with lower stop accuracy compared tothe n1, a value larger than the n1 is set for the acceptable ultimatetarget range.

[0224] Here, for the ultimate target positions including the campingposition, the wiping position and the preliminary discharge position, apredetermined range D is provided allowing for some cases where thecarriage moves slightly beyond the acceptable ultimate target asdescribed with reference to FIG. 16. The respective functions cansatisfactorily be executed even if the carriage M4001 stops at anyposition within the predetermined range D.

[0225] As described above, according to Second Embodiment, theacceptable ultimate target range is set in a variable manner accordingto the ultimate target position XT, thereby making it possible to havethe carriage M4001 stopped at a position within the acceptable ultimatetarget range with stability, in addition to the effect described inFirst Embodiment.

[0226] <Third Embodiment>

[0227] The acceptable ultimate target range is set according to theultimate target position of the carriage M4001 in Second Embodiment, butin Third Embodiment, in addition thereto, drive modes for the scanningof the carriage M4001 (e.g. deceleration and scanning speed) are alsoset. Here for the deceleration of the scanning of the carriage,decelerations corresponding to a plurality of drive modes, constitutedby different decelerations in advance, are provided in forms such as atable.

[0228] The setting of the deceleration is performed together with thesetting of the acceptable ultimate target range in the processing of thestep S502 of FIG. 17 of Second Embodiment. That is, at step S401, when acommand order for driving the carriage M4001 is issued, the commandorder is received through the parallel I/F (E0016) and the serial I/F(E0017) and analyzed, and the ultimate speed VT and the ultimate targetposition XT for the carriage M4001 are read together with desiredrecording information. Then at step S502, an acceptable ultimate targetrange n consistent with the ultimate target position XT is selected andset, and the drive mode (deceleration) is selected and set.

[0229] Furthermore, a configuration in which the deceleration of thecarriage M4001 is selected according to the drive mode is described asan example in Third Embodiment, but a configuration in which thescanning speed (traveling speed) of the carriage M4001 is selected isalso acceptable.

[0230] Details of the processing of step S502 at this time will bedescribed with reference to FIG. 19.

[0231]FIG. 19 is a flow chart showing details of the processing of stepS502 of Third Embodiment of the present invention.

[0232] When the ultimate speed VT and the ultimate target position XTare read, whether the ultimate target position XT is the campingposition, wiping position, the preliminary discharge position or otherposition is first determined at step S701. If it is found that theultimate target position XT is the camping or wiping position as aresult of the determination, the processing moves to step S705 by way ofstep S702 or step S703 where an acceptable ultimate target range n3 isset, and a drive mode 1 (deceleration α3 for the scanning of thecarriage M4001). Here, the n3 is, for example, 0.38 mm.

[0233] On the other hand, if the ultimate target position XT is apreliminary discharge position or other position, the processing movesto step S706 by way of step S704 where an acceptable ultimate targetrange n4 is set, and a drive mode 2 (deceleration α4 for the scanning ofthe carriage M4001) is set. Here, the n4 represents 1.0 mm, which ismuch larger than n3, and a value larger than the deceleration α3 is setfor the deceleration α4.

[0234] As described above, according to Third Embodiment, the acceptableultimate target range and the drive mode (deceleration) for the scanningof the carriage (deceleration) are set in a variable manner according tothe ultimate target position XT, thereby making it possible to perform amore appropriate and stable stop operation of the carriage in additionto the effect described in First and Second Embodiments. Here, in thecase where deceleration is small, the inertia force of the carriageM4001 is reduced compared to the case where the deceleration is large,and therefore a narrower ultimate target position can be set.

[0235] Furthermore, in the above First to Third Embodiments, an examplein which the invention is applied to the drive control of the carriageof the serial ink jet recording apparatus has been described, but theinvention is limited thereto, and can be applied to the mechanism fortransporting a print medium such as a recording sheet in the linerecording apparatus, and to the control of a motor and a controlledobject connected to the motor.

[0236] Whether the controlled object has stopped is determined based onthe ultimate target position, but whether the controlled object hasstopped may be determined based on the ultimate position rotationalquantum number or rotational angle. In addition, the present inventionhas been described using a DC motor as an example, but the invention maybe applied to other motors including, for example, an AC motor and astepping motor instead of the DC motor.

[0237] Embodiments have been described above, but the present inventionmay be applied to a system consisting of a plurality of devices, or maybe applied to an apparatus consisting of one device.

[0238] Furthermore, the present invention may also be achieved bysupplying programs of software for achieving the functions of theaforesaid embodiments (programs corresponding to respective flow chartsdescribed above in the embodiments) directly or remotely to the systemor apparatus, and having the supplied program codes read and executed bythe computer of the system or apparatus. In this case, any forms otherthan programs may be adopted as long as they have functions of programs.

[0239] Accordingly, for achieving the functional processing of thepresent invention, the program code itself that is installed in thecomputer also contributes to achievement of the present invention. Thatis, the claims of the present invention also include the computerprogram itself for achieving the functional processing of the presentinvention.

[0240] In this case, any program forms may be used including an objectcode, a program executed by an interpreter and script data supplied tothe OS as long as they have functions of programs.

[0241] Recording media for supplying programs include, for example, afloppy disk, a hard disk, an optical disk, a photo-magnetic disk, an MO,a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a nonvolatile memory card, aROM and a DVD (DVD-ROM, DVD-R).

[0242] In addition, the program can be supplied by making a connectionwith a homepage on the Internet using a browser of a client computer,and downloading the computer program itself of the present invention, ora compressed file having an automatic installation function to arecording medium such as a hard disk. Also, the program can be suppliedby dividing the program code constituting the program of the presentinvention into a plurality of files, and downloading respective filesfrom different homepages. The WWW server allowing a plurality of usersto download program files for achieving the functional processing of thepresent invention by the computer is also included in the claims of thepresent invention.

[0243] The program can also be supplied by encrypting the program of thepresent invention and storing the program in a recording medium such asa CD-ROM and distributing the same to users, and allowing userssatisfying a predetermined condition to download key information fordecrypting the encryption from a homepage through Internet, andexecuting the encrypted program to install the program in the computerby using the key information.

[0244] The computer executes a read program, whereby the aforesaidfunctions of the embodiments are achieved, and in addition thereto, theOS or the like operating on the computer performs part or all of actualprocessing based on the instruction of the program, by which theaforesaid functions of the embodiments may be achieved.

[0245] In addition, after the program read from the recording medium iswritten in a memory provided in a feature expansion board inserted inthe computer or a feature expansion unit connected to the computer, theCPU or the like provided in the feature expansion board or the featureexpansion unit performs part or all of the actual processing based onthe instruction of the program, by which the aforesaid features of theembodiments are achieved.

[0246] As many apparently widely different embodiments of the presentinvention can be made without departing from the spirit and scopethereof, it is to be understood that the invention is not limited to thespecific embodiments thereof except as defined in the appended claims.

What is claimed is:
 1. A control apparatus performing control to move acontrolled object to a position within an acceptable ultimate targetrange including positions ahead and behind an ultimate target position,comprising: detection means for detecting the position of saidcontrolled object; drive means for driving said controlled object; andcontrol means for controlling said drive means so that said controlledobject is reverse-driven if said controlled object is situated beyondsaid ultimate target position, and stopping the operation of said drivemeans if said controlled object is situated beyond said acceptableultimate target range, as a result of the detection by said detectionmeans.
 2. The control apparatus according to claim 1, wherein saidultimate target position consists of two or more kinds of ultimatetarget positions for which said acceptable ultimate target ranges areset, respectively, the control apparatus further comprises selectionmeans for selecting said acceptable ultimate target range correspondingto said ultimate target position of said controlled object, and saidcontrol means controls said drive means so that said controlled objectis reverse-driven if said controlled object is situated beyond saidultimate target position, and stops the operation of said drive means ifsaid controlled object is situated beyond the acceptable ultimate targetrange selected by said selection means, as a result of the detection bysaid detection means.
 3. The control apparatus according to claim 1,wherein said ultimate target position consists of two or more kinds ofultimate target positions for which said acceptable ultimate targetranges and drive modes are set, respectively, the control apparatusfurther comprises selection means for selecting said acceptable ultimatetarget range and said drive mode corresponding to said ultimate targetposition of said controlled object, said drive means drives saidcontrolled object in the drive mode selected by said selection means,and said control means controls said drive means so that said controlledobject is reverse-driven if said controlled object is situated beyondsaid ultimate target position, and stops the operation of said drivemeans if said controlled object is situated beyond the acceptableultimate target range selected by said selection means, as a result ofthe detection by said detection means.
 4. The control apparatusaccording to claim 3, wherein for each said drive mode, at least one ofthe deceleration and the traveling speed in the drive of said controlledobject is set.
 5. A control method of performing control to move acontrolled object to a position within an acceptable ultimate targetrange including positions ahead and behind an ultimate target position,comprising: a detection step of detecting the position of saidcontrolled object; and a control step of controlling a drive unit sothat said controlled object is reverse-driven if said controlled objectis situated beyond said ultimate target position, and stopping theoperation of said drive unit if said controlled object is situatedbeyond said acceptable ultimate target range, as a result of thedetection by said detection step.
 6. The control method according toclaim 5, wherein said ultimate target position consists of two or morekinds of ultimate target positions for which said acceptable ultimatetarget ranges are set, respectively, the control method furthercomprises a selection step of selecting said acceptable ultimate targetrange corresponding to said ultimate target position of said controlledobject, and in said control step, said drive unit is controlled so thatsaid controlled object is reverse-driven if said controlled object issituated beyond said ultimate target position, and the operation of saiddrive unit is stopped if said controlled object is situated beyond theacceptable ultimate target range selected in said selection step, as aresult of the detection by said detection step.
 7. The control methodaccording to claim 5, wherein said ultimate target position consists oftwo or more kinds of ultimate target positions for which said acceptableultimate target ranges and drive modes are set, respectively, thecontrol method further comprises a selection step of selecting saidacceptable ultimate target range and said drive mode corresponding tosaid ultimate target position of said controlled object, said drive unitdrives said controlled object in the drive mode selected in saidselection step, and in said control step, said drive unit is controlledso that said controlled object is reverse-driven if the said controlledobject is situated beyond said ultimate target position, and theoperation of said drive unit is stopped if said controlled object issituated beyond the acceptable ultimate target range selected in saidselection step, as a result of the detection by said detection step. 8.The control method according to claim 7, wherein for each said drivemode, at least one of the deceleration and the traveling speed in thedrive of said controlled object is set.
 9. A recording apparatusperforming control to move a controlled object associated with recordingto a position within an acceptable ultimate target range includingpositions ahead and behind an ultimate target position to carry outrecording, comprising: detection means for detecting the position ofsaid controlled object; drive means for driving said controlled object;control means for controlling said drive means so that said controlledobject is reverse-driven if said controlled object is situated beyondsaid ultimate target position, and stopping the operation of said drivemeans if said controlled object is situated beyond said acceptableultimate target range, as a result of the detection by said detectionmeans; and recording means for carrying out recording based on thecontrol by said control means.
 10. The recording apparatus according toclaim 9, wherein said ultimate target position consists of two or morekinds of ultimate target positions for which said acceptable ultimatetarget ranges are set, respectively, the recording apparatus furthercomprises selection means for selecting said acceptable ultimate targetrange corresponding to said ultimate target position of said controlledobject, and said control means controls said drive means so that saidcontrolled object is reverse-driven if said controlled object issituated beyond said ultimate target position, and stops the operationof said drive means if said controlled object is situated beyond theacceptable ultimate target range selected by said selection means, as aresult of the detection by said detection means.
 11. The recordingapparatus according to claim 9, wherein said ultimate target positionconsists of two or more kinds of ultimate target positions for whichsaid acceptable ultimate target ranges and drive modes are set,respectively, the recording apparatus further comprises selection meansfor selecting said acceptable ultimate target range and said drive modecorresponding to said ultimate target position of said controlledobject, said drive means drives said controlled object in the drive modeselected by said selection means, and said control means controls saiddrive means so that said controlled object is reverse-driven if saidcontrolled object is situated beyond said ultimate target position, andstops the operation of said drive means if said controlled object issituated beyond the acceptable ultimate target range selected by saidselection means, as a result of the detection by said detection means.12. The recording apparatus according to claim 11, wherein for each saiddrive mode, at least one of the deceleration and the traveling speed inthe drive of said controlled object is set.
 13. A method of controllinga recording apparatus performing control to move a controlled objectassociated with recording to a position within an acceptable ultimatetarget range including positions ahead and behind an ultimate targetposition to carry out recording, comprising: a detection step ofdetecting the position of said controlled object; a control step ofcontrolling a drive unit so that said controlled object isreverse-driven if said controlled object is situated beyond saidultimate target position, and stopping the operation of said drive unitif said controlled object is situated beyond said acceptable ultimatetarget range, as a result of the detection by said detection step; and arecording step of carrying out recording based on the control by saidcontrol step.
 14. The method of controlling a recording apparatusaccording to claim 13, wherein said ultimate target position consists oftwo or more kinds of ultimate target positions for which said acceptableultimate target ranges are set, respectively, the recording methodfurther comprises a selection step of selecting said acceptable ultimatetarget range corresponding to said ultimate target position of saidcontrolled object, and in said control step, said drive unit iscontrolled so that said controlled object is reverse-driven if saidcontrolled object is situated beyond said ultimate target position, andthe operation of said drive unit is stopped if said controlled object issituated beyond the acceptable ultimate target range selected in saidselection step, as a result of the detection by said detection step. 15.The method of controlling a recording apparatus according to claim 13,wherein said ultimate target position consists of two or more kinds ofultimate target positions for which said acceptable ultimate targetranges and drive modes are set, respectively, the recording methodfurther comprises a selection step of selecting said acceptable ultimatetarget range and said drive mode corresponding to said ultimate targetposition of said controlled object, said drive unit drives saidcontrolled object in the drive mode selected in said selection step, andin said control step, said drive unit is controlled so that saidcontrolled object is reverse-driven if said controlled object issituated beyond said ultimate target position, and the operation of saiddrive unit is stopped if said controlled object is situated beyond theacceptable ultimate target range selected in said selection step, as aresult of the detection by said detection step.
 16. The method ofcontrolling a recording apparatus according to claim 15, wherein foreach said drive mode, at least one of the deceleration and the travelingspeed in the drive of said controlled object is set.
 17. A program formaking a computer perform control to move a controlled object to aposition within an acceptable ultimate target range including positionsahead and behind an ultimate target position, comprising: a program codeof a detection step of detecting the position of said controlled object;and a program code of a control step of controlling a drive unit so thatsaid controlled object is reverse-driven if said controlled object issituated beyond said ultimate target position, and stopping theoperation of said drive unit if said controlled object is situatedbeyond said acceptable ultimate target range, as a result of thedetection by said detection step.
 18. A program for making a computerperform control of a recording apparatus performing control to move acontrolled object associated with recording to a position within anacceptable ultimate target range including positions ahead and behind anultimate target position, comprising: a program code of a detection stepof detecting the position of said controlled object; a program code of acontrol step of controlling a drive unit so that said controlled objectis reverse-driven if said controlled object is situated beyond saidultimate target position, and stopping the operation of said drive unitif said controlled object is situated beyond said acceptable ultimatetarget range, as a result of the detection by said detection step; and aprogram code of recording step of carrying out recording based on thecontrol by said control step.